﻿using ConfExpert.Forms.Base;
using DevExpress.XtraEditors.Repository;
using DevExpress.XtraReports.UI;
using DevTeam;


using System;
using System.Data;
using System.Windows.Forms;

namespace ConfExpert.Forms.Rapor.Kartela
{
    public partial class KartelaOlustur : XForm
    {

        public int SablonTipi { get; set; }

        public KartelaOlustur()
        {
            InitializeComponent();
        }

        private void KartelaOlustur_Load(object sender, EventArgs e)
        {
            DataTable dtKartela = new DataTable();
            DataColumn dcPrimaryKey = dtKartela.Columns.Add("Sira", typeof(int));
            dtKartela.AddAutoIncrementalColumn("Sira", 1, 1);


            dtKartela.Columns.Add("KumasSol", typeof(string));
            dtKartela.Columns.Add("KumasSag", typeof(string));
            dtKartela.PrimaryKey = new DataColumn[] { dtKartela.Columns["Sira"] };

            gvKartela.Init(dtKartela);

            RepositoryItemMemoEdit noteMemo = new RepositoryItemMemoEdit();
            gvKartela.Columns["KumasSol"].ColumnEdit =
            gvKartela.Columns["KumasSag"].ColumnEdit = noteMemo;

            gvKartela.SetCaptions("KumasSol:Soldaki Kumaşlar", "KumasSag:Sağdaki Kumaşlar");

            beSablon.EditValue = "Şablon seçiniz";
            
            gvKartela.OptionsView.NewItemRowPosition = DevExpress.XtraGrid.Views.Grid.NewItemRowPosition.Bottom;

            bbiKartela.ItemClick += bbiKartela_ItemClick;
            beSablon.ItemClick+=beSablon_ItemClick;

            gvKartela.BestFitColumns();
        }


        void bbiKartela_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
        {
            gvKartela.EndEditing();
            if (SablonTipi < 1)
            {
                ShowErrorMessage("İlk önce şabon tipini belirleyin");
                return;
            }

            if (gvKartela.DataTable().Rows.Count == 0)
            {
                ShowErrorMessage("Hiç kumaş bilgisi girmediniz");
                return;
            }

            float Yukseklik = ((float)txtYukseklik.EditValue.ToDecimal())*100;
            if (Yukseklik == 0)
            {
                ShowErrorMessage("Yükseklik girin");
                return;
            }

            KumasKartela kk = new KumasKartela(gvKartela.DataTable(),SablonTipi,memoEdit1.EditValue.ToStr(),Yukseklik);
            kk.ShowPreviewDialog();
        }

        

        private void beSablon_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
        {
            using (SablonSec se = new SablonSec())
            {
                DialogResult dr = se.ShowDialog();
                if (dr==DialogResult.OK)
                {
                    SablonTipi = se.SablonTipi;
                    beSablon.EditValue = "Şablon " + SablonTipi.ToStr();
                    GridGuncelle();
                }
                    
            }
        }

        private void GridGuncelle()
        {
            if (SablonTipi == 1)
            {
                
                txtYukseklik.EditValue = "1,5";
                gvKartela.MakeColumnVisible("KumasSag");
                gvKartela.SetCaptions("KumasSol:Soldaki Kumaşlar");
                gvKartela.Columns["KumasSag"].VisibleIndex = gvKartela.Columns.Count;
            }
            else if (SablonTipi == 2)
            {
                txtYukseklik.EditValue = "2,5";
                gvKartela.MakeColumnVisible("KumasSag");
                gvKartela.SetCaptions("KumasSol:Soldaki Kumaşlar");
                gvKartela.Columns["KumasSag"].VisibleIndex = gvKartela.Columns.Count;
            }
            else if (SablonTipi == 3)
            {
                txtYukseklik.EditValue = "1,5";
                gvKartela.MakeColumnInvisible("KumasSag");
                gvKartela.SetCaptions("KumasSol:Kumaş");
            }
            else if (SablonTipi == 4)
            {
                txtYukseklik.EditValue = "2,5";
                gvKartela.MakeColumnInvisible("KumasSag");
                gvKartela.SetCaptions("KumasSol:Kumaş");
            }
            else if (SablonTipi == 5)
            {
                txtYukseklik.EditValue = "1,5";
                gvKartela.MakeColumnInvisible("KumasSag");
                gvKartela.SetCaptions("KumasSol:Kumaş");
            }
            else if (SablonTipi == 6)
            {
                txtYukseklik.EditValue = "2,5";
                gvKartela.MakeColumnInvisible("KumasSag");
                gvKartela.SetCaptions("KumasSol:Kumaş");
            }

            gvKartela.BestFitColumns();
        }
    }
}
